package com.xing.crm.web.controller;

import com.xing.crm.pojo.PageResult;
import com.xing.crm.pojo.ProCategoryPoJo;
import com.xing.crm.pojo.Result;
import com.xing.crm.service.ProCategoryService;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 分类管理
 * @date 2021/7/21 17:49
 * */
@Controller
@RequestMapping({"/category"})
public class ProCategoryController
{
	@Resource
	private ProCategoryService proCategoryService;
	
	@Value("${spring.mvc.static-path-pattern}")
	private String imgUriPrefix;
	
	/////////////////////////////////////////////// 页面 //////////////////////////////////////////////////
	/////////////////////////////////////////////// 页面 //////////////////////////////////////////////////
	/////////////////////////////////////////////// 页面 //////////////////////////////////////////////////
	//列表页面
	@RequestMapping({"/listPage"})
	public String list()
	{
		return "admin/category/list";
	}
	
	//新增、编辑页面
	@RequestMapping({"/editPage"})
	public String edit(Model model, Integer id)
	{
		ProCategoryPoJo proCategoryPoJo = this.proCategoryService.get(id);
		model.addAttribute("data", proCategoryPoJo);
		model.addAttribute("uriPrefix", pathSub());
		return "admin/category/edit";
	}
	
	//详情页面
	@RequestMapping({"/detailPage"})
	public String detail(Model model, Integer id)
	{
		ProCategoryPoJo proCategoryPoJo = this.proCategoryService.get(id);
		model.addAttribute("data", proCategoryPoJo);
		model.addAttribute("uriPrefix", pathSub());
		return "admin/category/detail";
	}
	
	
	/////////////////////////////////////////////// 数据 //////////////////////////////////////////////////
	/////////////////////////////////////////////// 数据 //////////////////////////////////////////////////
	/////////////////////////////////////////////// 数据 //////////////////////////////////////////////////
	//列表数据
	@RequestMapping({"/list"})
	@ResponseBody
	public PageResult<ProCategoryPoJo> list(
			ProCategoryPoJo proCategoryPoJo,
			@RequestParam(required = false, defaultValue = "1") Integer page,
			@RequestParam(required = false, defaultValue = "10") Integer limit
	) {
		return this.proCategoryService.list(proCategoryPoJo, page, limit);
	}
	
	//编辑、新增
	@RequestMapping({"/edit"})
	@ResponseBody
	public Map<String, Object> edit(ProCategoryPoJo proCategoryPoJo)
	{
		return this.proCategoryService.edit(proCategoryPoJo);
	}
	
	//排序排序字段
	@RequestMapping({"/sort"})
	@ResponseBody
	public Result sort(ProCategoryPoJo proCategoryPoJo){
		return proCategoryService.sort(proCategoryPoJo);
	}
	
	//切换显示,
	@RequestMapping({"/toggleShow"})
	@ResponseBody
	public Result toggleShow(Integer id){
		return proCategoryService.toggleShow(id);
	}
	
	
	//路径替换？
	private String pathSub() {
		if(imgUriPrefix != null) {
			return imgUriPrefix.replace("/**", "");
		}
		return "";
	}
	
	
}
